1 package com.iluwatar;
2
3 import java.io.Serializable;
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public class InitializingOnDemandHolderIdiom implements Serializable{
18
19 private static final long serialVersionUID = 1L;
20
21 private static class HelperHolder {
22 public static final InitializingOnDemandHolderIdiom INSTANCE = new InitializingOnDemandHolderIdiom();
23 }
24
25 public static InitializingOnDemandHolderIdiom getInstance() {
26 return HelperHolder.INSTANCE;
27 }
28
29 private InitializingOnDemandHolderIdiom() {
30 }
31
32 protected Object readResolve() {
33 return getInstance();
34 }
35
36 }